<?php
/**
 *    1. 逻辑层类统一放在Logic命名空间
 *    2. 逻辑层类名统一以Logic结尾
 *    3. 逻辑层负责：数据以及业务逻辑处理，请不要在逻辑层获取请求参数以及响应输出结果
 *    4. 框架使用说明文档：https://ulink.qq.com/ulinksdk/doc/ulink_frame/manual.html
 *    5. 使用过程中遇到任何问题请企业微信联系 ronzheng
 */
namespace Logic;

//根据实际调用情况，导入相关的类

use Lib\Cache\RedisAction;
use Lib\Db\Query;
use Lib\Paas\DirtyFilter;
use Lib\Paas\IDIP;

class DemoLogic
{
    /**
     * idip调用
     */
    public function getTaskPoint($data)
    {
        $idip = new IDIP();
        $cmdData = [
            'area' => $data['area'],
            'openid' => $data['openid'],
            'platid' => $data['platid'],
            'partition' => $data['partition'],
            'cmd' => '10282095',
            'serviceType' => 'hongjing',
            'begin_time' => '1562601600',
            'end_time' => '1562687999',
        ];

        $rtnData = $idip->getData($cmdData);
        if ($rtnData['result'] == 0) {
            return $rtnData['score'];
        } else {
            return false;
        }
    }

    /**
     * 数据库以及Redis操作
     */
    public function getUserInfo($openid)
    {
        $redis = new RedisAction();

        $key = 'userinfo_' . $openid;
        $userInfo = $redis->hGetAll($key);
        if ($userInfo === false) {
			
			//更多DB操作请参考：https://ulink.qq.com/ulinksdk/doc/ulink_frame/db.html
            $query = new Query();
            
            $rtn = $query->table('tbTest')->where('openid', $openid)->select();
			
            if ($rtn === false) {
                //数据库查询出现异常
                return false;
            } else {
                if ($rtn['rows'] > 0) {
                    $redis->hMSet($key, $rtn['data']);
                }
                return $rtn['data'];
            }
        } else {
            //redis 操作出现异常
            return false;
        }
    }

    /**
     * 脏字过滤
     */
    public function filterDirtyWords($content)
    {
        $result = '';
        $dirty = new DirtyFilter();
        if ($dirty->checkDirtyWord($content, $result)) {
            //不包含脏字

        } else {
            //包含脏字，$result返回过滤脏字之后的内容（脏字被*代替）
        }
        return $result;
    }
}
